import Taro from "@tarojs/taro";
import { setGlobalData, getGlobalData } from "../globalData.js";
/**
 * 数据请求模块
 * 接口地址 http://daxun.kuboy.top/apidoc
 * 先显示加载框，然后请求结束加载框消失
 * 
 */
// getnews(action,params){

// }
// list(url,params,query,index,pagesize)
// {
//     post
// }
// post(url,params,data)
// {
//    req
//    {
//        pag
//    }
// }
// get(url,params)
// {
//     req
//     news/article/list
//     news/article/item
//     news/article/comment
// }
export function request(url, method = 'POST', data) {
    if (typeof method == "object") {
        data = method
        method = "POST"
    }
    console.log("接口封装中获取到的信息：",getGlobalData("openId"),getGlobalData("mobile"))
    Taro.showLoading({
        title: '加载中',
    })
    data={
        mobile: getGlobalData("mobile") || "",
        wxOpenId: getGlobalData("openId"),
        ...data
    }
    // 使用promise 解决异步操作问题，此处还可以使用 async + await
    return new Promise((resolve, reject) => {
        let baseUrl = process.env.IOParking.API_HOST;//封装好的接口配置
        // 微信小程序的数据请求方法
        // 必须配置小程序的安全域名，
        // 在开发阶段可以在“详情” - “本地设置” - 勾选中 不校验请求域名、web-view(业务域名)、TLS版本及HTTPS证书
        Taro.request({
            url: baseUrl + url,
            method: method,
            header: {
                "content-type": "application/json" // 默认值
            },
            data: data || {},
            success: (res) => {
                // 隐藏加载中
                Taro.hideLoading();
                // 后续处理
                if (res.data.isSuccess) {
                    resolve(res.data);
                } else {
                    reject(res.data)
                    Taro.showToast({
                        title: res.data.message,
                        icon: 'none'
                    })
                }
            },
            fail() {
                Taro.hideLoading();
                Taro.showToast({
                    title: '接口请求错误',
                    icon: 'none'
                })
                reject('接口请求错误')
            }
        })
    })
}

/**
 * 可消失的提示框 - 默认只显示文字
 * str 提示内容
 * icon 是否需要图标，none 、 success(默认值) 、 loading
 */
export function Toast(str, icon) {
    // 微信提供的API接口
    // 参照 https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showToast.html
    Taro.showToast({
        title: str,
        icon: icon || 'none'
    })
}
